(DEFUN c:getboundary ( / )
  (vl-load-com)
  (IF c3difodoc NIL (LOAD "c3difodoc" "\nFile C3DIFODOC not loaded! "))
  (c3difodoc)
;;;  (setq	aeccapp	(vla-getinterfaceobject
;;;		  (vlax-get-acad-object)
;;;		  (cond
;;;		    ((<= (atoi (substr (getvar "ACADVER") 1 2)) 17)
;;;		     "AeccXUiLand.AeccApplication.6.0"
;;;		    )
;;;		    ((= (atoi (substr (getvar "ACADVER") 1 2)) 18)
;;;		     "AeccXUiLand.AeccApplication.9.0"
;;;		    )
;;;		    ((= (atoi (substr (getvar "ACADVER") 1 2)) 19)
;;;		     "AeccXUiLand.AeccApplication.10.0"
;;;		    )
;;;		  ) ;_ end of COND
;;;		) ;_ end of vla-getinterfaceobject
;;;  ) ;_ end of setq
  (setq aeccdoc (vlax-get-property aeccapp "ActiveDocument"))
  (setq aeccdb (vlax-get-property aeccdoc "Database"))
  (setq aeccsurfaces (vlax-get-property aeccdoc 'Surfaces))
  (SETQ this-ename
         (CAR
           (NENTSEL
             "\nSelect Surface (IAeccTinSurface Object): "
           ) ;_ end of ENTSEL
         ) ;_ end of CAR
  ) ;_ end of SETQ
  (SETQ this-object (VLAX-ENAME->VLA-OBJECT this-ename))
  (SETQ this-object-name (VLAX-GET-PROPERTY this-object 'ObjectName))
  (IF (= this-object-name "AeccDbSurfaceTin")
    (PROGN
      (SETQ Surfacename (VLAX-GET-PROPERTY this-object 'Name))
      (VLAX-FOR item aeccsurfaces
        (IF (= Surfacename (vlax-get-property item 'Name))
          (SETQ this-surface item)
        )
      )
      ;(VLAX-DUMP-OBJECT this-surface T)
      (SETQ this-boundaries (VLAX-GET-PROPERTY this-surface 'Boundaries))
      (VLAX-INVOKE-METHOD this-boundaries "Item" 1)
    )
    (PRINC "\nObject selected is not an AECC Surface! ")
  )
  (PRINC)
)